home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 143 / Gekkan Dennou Club - 2000.4 Vol. 143 (Japan).7z / Gekkan Dennou Club - 2000.4 Vol. 143 (Japan).bin / docs / perl / tajyu.pl < prev   
Perl Script  |  2000-02-26  |  763b  |  60 lines

  1. #
  2. # 多重継承のテスト
  3. #
  4. package Foo;
  5.  
  6. sub new {
  7.   my ($type, $a) = @_;
  8.   my $obj = {'a' => $a };
  9.   bless $obj, $type;
  10.   $obj;
  11. }
  12.  
  13. sub get_a {
  14.   my $obj = shift;
  15.   $obj->{'a'};
  16. }
  17.  
  18. sub method_1 {
  19.   print "Foo::method_1\n";
  20. }
  21.  
  22. package Bar;
  23.  
  24. sub new {
  25.   my ($type, $b) = @_;
  26.   my $obj = {'b' => $b };
  27.   bless $obj, $type;
  28.   $obj;
  29. }
  30.  
  31. sub get_b {
  32.   my $obj = shift;
  33.   $obj->{'b'};
  34. }
  35.  
  36. sub method_1 {
  37.   print "Bar::method_1\n";
  38. }
  39.  
  40. package Baz;
  41. @ISA = (Foo, Bar);
  42.  
  43. sub new {
  44.   my ($type, $a, $b) = @_;
  45.   my $obj = {'a' => $a, 'b' => $b };
  46.   bless $obj, $type;
  47.   $obj;
  48. }
  49.  
  50.  
  51. package main;
  52.  
  53. # $o1 = Baz->new(10,20);
  54. # 間接記法
  55. $o1 = new Baz 10, 20;
  56. print $o1->get_a(), "\n";
  57. print $o1->get_b(), "\n";
  58. $o1->method_1();
  59.  
  60.